Telegram Group & Telegram Channel
Краткий гайд про хэши для новичков

Хеширование — это фундаментальная концепция в Computer Science. В основе лежит идея односторонней функции, которая принимает на вход данные произвольного размера и возвращает выход фиксированной длины. Эта функция преобразует любые данные — будь то строка, число или файл — в уникальное значение фиксированной длины, называемое хешем. Это значение представляет собой последовательность битов, которая служит своего рода «отпечатком пальца» для исходных данных:


import hashlib

hash = hashlib.sha256()
hash.update(b'hello')
hashed_string = hash.hexdigest()

print(hashed_string) # 2cf24d......8b9824


Зачем это нужно

— Проверка «девственности» передаваемых данных: при передаче данных по сети важно убедиться, что они не были изменены. Хеширование позволяет создать контрольную сумму, которая может быть использована для проверки целостности данных;

— Хранение паролей: вместо хранения оных в открытом виде их точно стоит обезопасить хешами;

— Хеширование используется для создания цифровых подписей, которые подтверждают подлинность и целостность сообщений или документов.


Многие из вас сталкивались с SSH-ключами для Git-репозиториев, причем с разными алгоритмами: MD5, SHA256. В отдельном посте поговорим об алгоритмах шифрования вроде RSA.

Когда мы создаем пару ключей (приватный + публичный), например с помощью:


ssh-keygen -t rsa -b 4096


То получаем приватный ключ, что хранится на локальной машине и используется для аутентификации. Также мы получаем публичный ключ и загружаем его на GitHub. Он не использует хеши для хранения или проверки самих публичных ключей, они проверяются напрямую, при помощи криптографических протоколов. Но вот где вступает в дело хеш:

GitHub (и SSH-клиенты в целом) используют хеши не для безопасности, а для удобной идентификации.

Когда мы смотрим отпечаток ключа, например:


ssh-keygen -lf ~/.ssh/id_rsa.pub


То получаем:


2048 SHA256:2f3b7A5Nk...xyz username@host (RSA)


Это и есть отпечаток ключа (fingerprint) — хеш публичного ключа. Он используется для подтверждения подлинности ключа.

#основы
@zen_of_python



tg-me.com/zen_of_python/4273
Create:
Last Update:

Краткий гайд про хэши для новичков

Хеширование — это фундаментальная концепция в Computer Science. В основе лежит идея односторонней функции, которая принимает на вход данные произвольного размера и возвращает выход фиксированной длины. Эта функция преобразует любые данные — будь то строка, число или файл — в уникальное значение фиксированной длины, называемое хешем. Это значение представляет собой последовательность битов, которая служит своего рода «отпечатком пальца» для исходных данных:


import hashlib

hash = hashlib.sha256()
hash.update(b'hello')
hashed_string = hash.hexdigest()

print(hashed_string) # 2cf24d......8b9824


Зачем это нужно

— Проверка «девственности» передаваемых данных: при передаче данных по сети важно убедиться, что они не были изменены. Хеширование позволяет создать контрольную сумму, которая может быть использована для проверки целостности данных;

— Хранение паролей: вместо хранения оных в открытом виде их точно стоит обезопасить хешами;

— Хеширование используется для создания цифровых подписей, которые подтверждают подлинность и целостность сообщений или документов.


Многие из вас сталкивались с SSH-ключами для Git-репозиториев, причем с разными алгоритмами: MD5, SHA256. В отдельном посте поговорим об алгоритмах шифрования вроде RSA.

Когда мы создаем пару ключей (приватный + публичный), например с помощью:


ssh-keygen -t rsa -b 4096


То получаем приватный ключ, что хранится на локальной машине и используется для аутентификации. Также мы получаем публичный ключ и загружаем его на GitHub. Он не использует хеши для хранения или проверки самих публичных ключей, они проверяются напрямую, при помощи криптографических протоколов. Но вот где вступает в дело хеш:

GitHub (и SSH-клиенты в целом) используют хеши не для безопасности, а для удобной идентификации.

Когда мы смотрим отпечаток ключа, например:


ssh-keygen -lf ~/.ssh/id_rsa.pub


То получаем:


2048 SHA256:2f3b7A5Nk...xyz username@host (RSA)


Это и есть отпечаток ключа (fingerprint) — хеш публичного ключа. Он используется для подтверждения подлинности ключа.

#основы
@zen_of_python

BY Zen of Python




Share with your friend now:
tg-me.com/zen_of_python/4273

View MORE
Open in Telegram


Zen of Python Telegram | DID YOU KNOW?

Date: |

Among the actives, Ascendas REIT sank 0.64 percent, while CapitaLand Integrated Commercial Trust plummeted 1.42 percent, City Developments plunged 1.12 percent, Dairy Farm International tumbled 0.86 percent, DBS Group skidded 0.68 percent, Genting Singapore retreated 0.67 percent, Hongkong Land climbed 1.30 percent, Mapletree Commercial Trust lost 0.47 percent, Mapletree Logistics Trust tanked 0.95 percent, Oversea-Chinese Banking Corporation dropped 0.61 percent, SATS rose 0.24 percent, SembCorp Industries shed 0.54 percent, Singapore Airlines surrendered 0.79 percent, Singapore Exchange slid 0.30 percent, Singapore Press Holdings declined 1.03 percent, Singapore Technologies Engineering dipped 0.26 percent, SingTel advanced 0.81 percent, United Overseas Bank fell 0.39 percent, Wilmar International eased 0.24 percent, Yangzijiang Shipbuilding jumped 1.42 percent and Keppel Corp, Thai Beverage, CapitaLand and Comfort DelGro were unchanged.

China’s stock markets are some of the largest in the world, with total market capitalization reaching RMB 79 trillion (US$12.2 trillion) in 2020. China’s stock markets are seen as a crucial tool for driving economic growth, in particular for financing the country’s rapidly growing high-tech sectors.Although traditionally closed off to overseas investors, China’s financial markets have gradually been loosening restrictions over the past couple of decades. At the same time, reforms have sought to make it easier for Chinese companies to list on onshore stock exchanges, and new programs have been launched in attempts to lure some of China’s most coveted overseas-listed companies back to the country.

Zen of Python from hk


Telegram Zen of Python
FROM USA